package com.rome.hotel.data.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.rome.hotel.common.annotation.Excel;
import com.rome.hotel.common.core.domain.BaseEntity;

/**
 * 预定对象 hotel_reserve
 * 
 * @author rome
 * @date 2024-01-20
 */
public class HotelReserve extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long reserveId;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNumber;

    /** 房间号 */
    @Excel(name = "房间号")
    private String roomNumber;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String customerName;

    /** 入住状态例如：已预订0，已入住1、已离开2、已取消3等，默认已预定 */
    @Excel(name = "入住状态例如：已预订0，已入住1、已离开2、已取消3等，默认已预定")
    private String joinState;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phoneNumber;

    /** 身份证 */
    @Excel(name = "身份证")
    private String idCard;

    /** 入住时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinTime;

    /** 退房时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退房时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkOutTime;

    public void setReserveId(Long reserveId) 
    {
        this.reserveId = reserveId;
    }

    public Long getReserveId() 
    {
        return reserveId;
    }
    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }
    public void setRoomNumber(String roomNumber) 
    {
        this.roomNumber = roomNumber;
    }

    public String getRoomNumber() 
    {
        return roomNumber;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setJoinState(String joinState) 
    {
        this.joinState = joinState;
    }

    public String getJoinState() 
    {
        return joinState;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setJoinTime(Date joinTime) 
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime() 
    {
        return joinTime;
    }
    public void setCheckOutTime(Date checkOutTime) 
    {
        this.checkOutTime = checkOutTime;
    }

    public Date getCheckOutTime() 
    {
        return checkOutTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reserveId", getReserveId())
            .append("orderNumber", getOrderNumber())
            .append("roomNumber", getRoomNumber())
            .append("customerName", getCustomerName())
            .append("joinState", getJoinState())
            .append("gender", getGender())
            .append("phoneNumber", getPhoneNumber())
            .append("idCard", getIdCard())
            .append("joinTime", getJoinTime())
            .append("checkOutTime", getCheckOutTime())
            .toString();
    }
}
